package cn.cdu.medical.service;

import com.baomidou.mybatisplus.extension.service.IService;
import cn.cdu.medical.dto.ConsultationRequest;
import cn.cdu.medical.entity.Consultation;
import cn.cdu.medical.entity.MedicalRecord;
import cn.cdu.medical.dto.AssistantRequest;

/**
 * 问诊服务接口
 */
public interface ConsultationService extends IService<Consultation> {

    /**
     * 智能问诊对话
     * @param request 问诊请求
     * @return AI回复
     */
    Consultation chat(ConsultationRequest request);

    /**
     * 症状自查
     * @param symptoms 症状描述
     * @return AI诊断建议
     */
    String checkSymptoms(String symptoms);

    /**
     * 根据问诊记录生成初始病历
     * @param consultationId 问诊记录ID
     * @return 生成的病历记录
     */
    MedicalRecord generateInitialMedicalRecord(String consultationId);

    /**
     * 智能助手对话
     * @param request 助手请求
     * @return AI回复
     */
    String assistantChat(AssistantRequest request);

    /**
     * 病历分析
     * @param request 分析请求
     * @return 分析结果
     */
    String analyzeCase(AssistantRequest request);

    /**
     * 用药禁忌查询
     * @param request 查询请求
     * @return 禁忌信息
     */
    String checkContraindications(AssistantRequest request);

    /**
     * 药品说明书查询
     * @param request 查询请求
     * @return 说明书内容
     */
    String getMedicineGuide(AssistantRequest request);

    /**
     * 诊疗指南查询
     * @param request 查询请求
     * @return 指南内容
     */
    String getClinicalGuide(AssistantRequest request);
} 